<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // Boolean数据类型 true false

        // 1、把其他数据类型转换为布尔类型 Boolean(value)
        // 把其他数据类型转布尔有且只有 null/undefined/0/''/NaN 转布尔是false，其余的全部是true
        // console.log(Boolean(null));
        // console.log(Boolean(undefined));
        // console.log(Boolean(''));
        // console.log(Boolean(0));
        // console.log(Boolean(NaN));
        // console.log(Boolean([])); // true
        // console.log(Boolean(-6)); // true


        // !value:把其他数据类型转布尔，然后在取反
        // console.log(!1); // false
        // console.log(!null); // true

        // !!value :把其他数据类型转布尔，然后取反在取反(和直接转布尔等价)

        // console.log(!!undefined); // false 等同于直接转布尔
        // console.log(!isNaN(!true)); // 
        // !isNaN(false)
        // !false
        // true

        // Number String Boolean Null Undefined  {}  []
    </script>
</body>

</html>